package rs.fon.is.music.services;

import java.util.LinkedList;
import java.util.List;

import rs.fon.is.music.domain.MusicAlbum;
import rs.fon.is.music.domain.MusicGroup;
import rs.fon.is.music.domain.MusicRecording;


public interface MusicService {

	public abstract List<MusicGroup> getMusicGroups(int limit, int offset, int minFoundingYear,
			int maxFoundingYear, long minAlbums, long maxAlbums, long minTracks,
			long maxTracks, long interactionCount, LinkedList<String> tags);
	
	public abstract MusicGroup getMusicGroup(String id);

	public abstract List<MusicAlbum> getAlbums(String id, int limit, int offset, long minTracks,
			long maxTracks, long interactionCount, LinkedList<String> tags);
	
	public abstract List<MusicRecording> getRecordings(String id, int limit, int offset, long interactionCount, LinkedList<String> tags);
	
	public abstract List<MusicRecording> getAlbumRecordings(String id, int limit, int offset, long interactionCount, LinkedList<String> tags);

	public abstract MusicAlbum getMusicAlbum(String id);
}
